![Vimでカーソル下の単語を簡単にWeb検索できるプラグインの紹介](https://devio2023-media.developers.io/wp-content/uploads/2019/03/eyecatch_vim.png)
Vimでカーソル下の単語を簡単にWeb検索できるプラグインの紹介
はじめに
先日、秋葉原で開かれたVim Conf 2019に参加しました。 どれも素晴らしいセッションが続きましたが、個人的に特に有り難かったのがUjihisa様のセッション「13 Vim plugins I use every day」でした。 その中で紹介されていたプラグインの一つ、open-browser.vimと、その便利な設定についてご紹介できればと思います。
open-browser.vimは、文字通り(カーソル下の)URLをブラウザで開く事ができる便利プラグインです。 加えて、設定次第で任意のWebページでのキーワード検索を簡単に行うことができます。(後述)
検証環境
以下、手元の検証環境です。
- マシン / OS
- Mac / macOS Mojave
- Vim
$ vim --version | head -n 1 VIM - Vi IMproved 8.1 (以下略)
Plugin Install
GitHubの以下のページからダウンロードできます。
https://github.com/tyru/open-browser.vim
Pluginマネージャーをお使いの方は以下のように設定してください。
(vim-plugを使った場合の設定です)
Plug 'tyru/open-browser.vim'
その後、:PlugInstall
を実行し、Vimを再起動します。
Setting
open-browser.vimに関する情報を調べてみると、URLを開く利用方法に言及した記事を多く見つけることができました。これはVimで開いたヘルプやドキュメントに書かれたURLをブラウザで開く際に、非常に便利です。
しかし、open-browser.vimのhelpを良く読んでみると、このプラグインの真価は同じコマンドで「文字列の検索」と「URLをブラウザで開くこと」ができる点ではないかと気づきました。
同時に、キーワード検索のカスタマイズが可能であることがわかり、工夫次第で様々なユースケースで生産性向上に繋げられると感じました。MacでAlfredを活用されている方は、AlfredのCUI版(Vim版)といったイメージが近いかもしれません。
以上を踏まえた上で、Normalモードの設定例を以下に示します。あくまで一例ですので、お好みのキーに割り当ててご利用ください。
(個人的にVimのデフォルトキーバインディングを無視し、直感的と思えるキーに割り当てる邪道な設定をしています。)
nmap @ <Nop> nmap @g <Plug>(openbrowser-search) nmap <C-@> <Plug>(openbrowser-smart-search) nnoremap @a :<C-u>execute 'OpenBrowserSearch -alc' expand('<cWORD>')<CR> nnoremap @d :<C-u>execute 'OpenBrowserSearch -dev' expand('<cWORD>')<CR> let g:openbrowser_search_engines = { \ 'alc': 'http://eow.alc.co.jp/{query}/UTF-8/', \ 'dev': 'https://dev.classmethod.jp/?s={query}', \ }
1行目: @
キーを無効化しています。(本来はマクロ機能で使いますのでご注意ください)
2行目: @g
を押すと、設定されたブラウザでGoogle検索結果を開きます。
3行目: Ctrl + @
キーを押すと、カーソルがURL上にあればリンクを開き、文字列であればGoogle検索結果を開きます。
4行目: @a
を押すと、アルクの検索ページを開き、カーソル下の単語の日本語訳を知ることが出来ます。
5行目: @d
を押すと、Developers.IOでカーソル下の文字列を検索することが出来ます。
6行目〜9行目: 上記で使用する検索エンジンを設定します。
さいごに
最後まで読んで頂きありがとうございました。
コピー(yank)&ペーストの手間が不要になる素晴らしいプラグインだと思いました。
どなたかに届けば幸いです。
また最後になりましたが、Vim Confの運営に携わられた皆様、大変お疲れさまでした&有難うございました。
次回のVim Confも楽しみにしております!